The present disclosure relates to computer software, and more specifically, to computer software which intelligently utilizes non-matching weighted indexes.
Database customers create indexes over their tables in order to improve performance of the database system when processing queries. The customer may specify one or more database keys to include in the index. The database keys may represent columns that queries will be executed against. The keys may then be built by the database system into the index, with one entry in the index for each row in the table, with a pointer in the index to the row for which the key in the index is a match. When a query is run against the table with selection on the given key, the system can then access the index to find the given rows, instead of touching each row in the table, saving significant time.
Customers may also create a shared weight index, which treats some characters as equals to other characters. For example, uppercase characters may be equal to lowercase characters (e.g., ‘A’=‘a’), so that a query that selects on these characters will retrieve both the upper and lowercase entries. However, when a query is not configured to use a shared weight sort sequence, the DBMS cannot use the shared weight index in processing the query, leading to undesirable system performance.